home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr26 / netprog.zip / NETPROG.TAR / net / idpcli.c < prev    next >
C/C++ Source or Header  |  1989-12-17  |  990b  |  47 lines

  1. /*
  2.  * Example of client using XNS IDP protocol.
  3.  */
  4.  
  5. #include    "xns.h"
  6.  
  7. main(argc, argv)
  8. int    argc;
  9. char    *argv[];
  10. {
  11.     int            sockfd;
  12.     struct sockaddr_ns    cli_addr, serv_addr;
  13.  
  14.     pname = argv[0];
  15.  
  16.     /*
  17.      * Fill in the structure "serv_addr" with the address of the
  18.      * server that we want to send to.
  19.      */
  20.  
  21.     bzero((char *) &serv_addr, sizeof(serv_addr));
  22.     serv_addr.sns_family = AF_NS;
  23.     serv_addr.sns_addr   = ns_addr(IDP_SERV_ADDR);
  24.                 /* stores net-ID, host-ID and port */
  25.  
  26.     /*
  27.      * Open an IDP socket (an XNS datagram socket).
  28.      */
  29.  
  30.     if ( (sockfd = socket(AF_NS, SOCK_DGRAM, 0)) < 0)
  31.         err_dump("client: can't open datagram socket");
  32.  
  33.     /*
  34.      * Bind any local address for us.
  35.      */
  36.  
  37.     bzero((char *) &cli_addr, sizeof(cli_addr));    /* zero out */
  38.     cli_addr.sns_family = AF_NS;
  39.     if (bind(sockfd, (struct sockaddr *) &cli_addr, sizeof(cli_addr)) < 0)
  40.         err_dump("client: can't bind local address");
  41.  
  42.     dg_cli(stdin, sockfd, (struct sockaddr *) &serv_addr, sizeof(serv_addr));
  43.  
  44.     close(sockfd);
  45.     exit(0);
  46. }
  47.